Automatic Generation of Data Flow Test Paths using a Genetic Algorithm
نویسندگان
چکیده
Path testing a program involves generating all paths through the program, and finding a set of program inputs that will execute every path. Since it is impossible to cover all paths in a program, path testing can be relaxed by selecting a subset of all executable paths that fulfill a certain path selection criterion and finding test data to cover it. The automatic generation of such test paths leads to more test coverage paths thus resulting in efficient and effective testing strategy. This paper presents a structural-oriented technique that uses a genetic algorithm (GA) for automatic generation of a set of test paths that cover the all-uses criterion. In the case of programs that have loops, the proposed technique generates paths according to the ZOT-subset criterion, which requires paths that traverse loops zero, one and two times. The proposed GA uses a binary vector as a chromosome to represent the edges in the DD-graph of the program under test. The set of paths generated by the proposed GA can be passed to a test data generation tool to find program inputs that will execute them. Experiments have been carried out to evaluate the effectiveness of the proposed GA compared to the random test path generation technique. General Terms Software Engineering, Software Testing.
منابع مشابه
Optimizing Cost Function in Imperialist Competitive Algorithm for Path Coverage Problem in Software Testing
Search-based optimization methods have been used for software engineering activities such as software testing. In the field of software testing, search-based test data generation refers to application of meta-heuristic optimization methods to generate test data that cover the code space of a program. Automatic test data generation that can cover all the paths of software is known as a major cha...
متن کاملAutomatic Data Flow Test Paths Generation using the Genetical Swarm Optimization Technique
Path testing requires generating all paths through the program to be tested, and finding a set of program inputs that will execute every path. The number of possible paths in programs containing loops is infinite, and so it is very difficult, if not impossible, to test all of them. Path testing can be relaxed by selecting a subset of all executable paths that fulfill a certain path selection cr...
متن کاملAutomatic generation of basis test paths using variable length genetic algorithm
a r t i c l e i n f o a b s t r a c t Path testing is the strongest coverage criterion in white box testing. Finding target paths is a key challenge in path testing. Genetic algorithms have been successfully used in many software testing activities such as generating test data, selecting test cases and test cases prioritization. In this paper, we introduce a new genetic algorithm for generating...
متن کاملPerformance Analysis of Test Data Generation for Path Coverage Based Testing Using Three Meta- Heuristic Algorithms
This paper discusses an approach to generate test data for path coverage based testing using Genetic Algorithms, Differential Evolution and Artificial Bee Colony optimization algorithms. Control flow graph and cyclomatic complexity of the example program has been used to find out the number of feasible paths present in the program and it is compared with the actual no of paths covered by the ev...
متن کاملTest Data Generation Based on Test Path Discovery Using Intelligent Water Drop
Automatic test data generation is required to generate test cases dynamically for a specific software program. Manual generation of test data is too tedious and a time consuming task. This paper proposes a technique using Intelligent Water Drop (IWD) for automatic generation of test data. Correctly generated test data helps in reducing the effort while testing the software. This paper discusses...
متن کامل